<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="theme-color" content="#3367D6"/>
  <link rel="apple-touch-icon" href="/icons-192.png">
  <link rel="manifest" href="/manifest.json">
  
  <meta name="generator" content="Hexo 6.3.0">

  

  

  
    <meta name="author" content="QAQ">
  

  

  

  <title>VUE 集成Variant Form | QAQ</title>

  

  
    <link rel="shortcut icon" href="/blog/favicon.ico">
  

  <!--mathjax latex数学公式显示支持-->
  
  

  
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typeface-source-code-pro@1.1.13/index.min.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.7.0/build/styles/monokai.min.css">
  

  

  
<link rel="stylesheet" href="/blog/css/style.css">

</head>
<body>
  <div class="root-container">
    
<!-- header container -->
<header class="header-container post">
  
    <div class="post-image" style="background-image: url(https://qiniu.sukoshi.xyz/src/images/68686407_p0.jpg)"></div>
  

  <!-- navbar -->
<nav class="navbar">
  <div class="navbar-content">
    <!-- logo -->
    <div class="navbar-logo">
      <a href="/blog/">
        
          QAQ
        
      </a>
    </div>
    <!-- link -->
    <div class="navbar-link">
      <div class="navbar-btn">
        <div></div>
        <div></div>
        <div></div>
      </div>
      <ul class="navbar-list">
        
      </ul>
    </div>
  </div>
</nav>

  
  

  
  

  
  

  
  

  
  
    <div class="header-content">
      <div class="post-text layout-block">
        <div class="layout-margin">
          <h1 class="title-wrap">VUE 集成Variant Form</h1>
          <h2 class="title-sub-wrap">
            <strong>QAQ</strong>
            <span>发布于</span>
            <time  class="article-date" datetime="2023-11-07T11:38:12.000Z" itemprop="datePublished">2023-11-07</time>
          </h2>
          
            <h2 class="last-time">
              <span>最后更新于</span>
              <time  class="article-updated" datetime="2024-04-09T01:06:51.791Z" itemprop="dateUpdated">2024-04-09</time>
            </h2>
          
          
          <ul class="wrap-list dark">
  
</ul>
          <ul class="wrap-list dark">
  
    <li><a href="/blog/tags/vue/">🏷️ vue</a></li>
  
</ul>
        </div>
      </div>
    </div>
  

  
  
  
</header>

    <!-- 文章 -->

<!-- 文章内容 -->
<div class="body-container">
  <article class="content-container layout-block post-container">
    <div class="article-info">
      
      
      
      
      <section class="article-entry markdown-body layout-margin content-padding--large soft-size--large soft-style--box">
        <div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉，这个密码看着不太对，请再试试。" data-whm="抱歉，这个文章不能被纠正，不过您还是能看看解密后的内容。">
  <script id="hbeData" type="hbeData" data-hmacdigest="9909cb23e3fce50e91ab050bf5410e7811166d481eabeefb1dfce64b5e3bd943">f5d7027a76d40f8b4fe5a79716a716fbbd2e7a9d87fa4ffe1b23e27c10841cf5d8efdddc7b3ed437443f455565e9aa0945fd815d023f8daf17717ed7228ea98929d7c371359f0a3fb7e695a605bea9e71d4b7805eb0650d41ae1dd4a838fdca68fa9fc1db70a0c08c3fda2e69da4a20a681ef0f12c835fd52568a812bf1177f089261c65e24720787b6c171311d06bec65bd9b85e92fa9af8345d9521d1f65910868c2cc88ca57bfd5ab13fd1d976fc45a5f4df8dc4e4b4ce1c8a3946ca3fb2b56576879205c7e117c11c991ceadc51776c187e076a93322feec8746ce4fd6ccc0ac58839ff7388aeb42ddfa4e68f37b1e57364be889a28d8fb27c2404395d567dbc154a161bb894bc513d8993bee916da72928c32f3a0b872680f695c3248b2fba3d4d3f51ef6c04d466b4452d4b97fa430996f2db4e67493751481fac3adb2f0d6302b70c4fcf01fc24e588f8f988817050c2413e5cdb8c924a63299db1131471d49e996e6325427ae385dfbb66cde76204b1aa55a99e4134c132f105e2b2763bc627bbac9efbf8312d0bd053c1277e84e68539f28c3c316ec6413da8b927b3f081ea149aaa62caf48e99ffb1b0bb23b586ba58082609f50e2acfe3f2789bc5e7610d0d98b2e229b499eba9cbf41911c5406f52841fec023bbe0afbd2338c668b5f53d1ff3dcae8ea635045e4669a99bbcc412f62cb2ff6cc42aa7ced032662ca188936bd7c39cc03155ee034ba56d85a95123436db29e156eab1841048e90201971c350a32eefad896e9de4c5429423c93b4925cd558ec28931ac32a9bc9b856e6615c5236d3217f29b0bea80211dad1cc4ee46d5d77d38e0199c9b33c3802904913fe09da6f4ed9ea0a7da552c73a8e42011407d1e0d7641e3cff219c59befdfc6db5f28ea89054399721f57b553f0313d6b41a64b0aa5412f8c76dc9842169391dedacfd0fd1923bcf7150d6ecddab1f977c9adc51b24a0bff81a892bd137e7e6c13d7175f7a7dfb3a50f80e1766496f9d9f5979e645ee9e1b7b9c244505d70ef55aa65034431550cf3946d73e91edad81031dc38f444cdec461a671b1da603ee7b7430d3bb2661cf095564a5678570a8492f9d8dfc5bf92c7df013e35c277bd62b9de415fb03ca887e8f61f1be6ccbf86c9df40e0c8c7a596cdd332b7924d740a2e3ba623eeb0b6a97151f46ecb9f98a8df984ab41fc10ff4b82fdf60818b5f4c6fa67074c610bc843e40446bd008b8cf775d281b9d255a90082dfccd893ec5b61f4bd419013c3b5a6855a09418b25e2af22ed97f71e95a746106b3310edba3e85f79c0d532d5a7e900ead936461acd225cdb693fc6758f23472d1bd1cca701a42b62580b8d8ce9a4bd1bc2b456cbfcc09f425e43e7e66e30a31a1be5c0893b371ef43bb34293f09b40e297663cf625c5aba162b79cda041d8aeb41cd668478fe96f31b5b17a05c9c9c3e9fdb542021fa855cb45201f79c6605986ba7f02e921a2801782644b55deb8fcd6208fc774b37ff873ad239e6753e9c5d5360cc02dde8fe501f390308044fbbc920f611a6a4fd1e862776b6d9902b612f74628fa0b63181d21bc6c78f83d55e74f06709ce59e2d4e074055bf4e022c923624c44967a83abd608432c73b913dfc7d80394193acdc5354a29cf1fb401f145bf40251c0ab2d2d8a658059d296d7746a399e22d9f739c25ca3fbd3abab6d1bccf9b8c34a6b982e38b5dcd8e778a0513cb285d103593c7d45f2b003543129da893c091ef81576a1479faef19ddc54a6b8be188662bf7544683400c2d9ed7305780f5f81e91204b35a94525cc7ffca28bd9db5d9459e0f489748e8fc48f606685e258fcdbb47cfb546f84d13b49357a1155a2afb068babd462f5d2778f506021d2ee020c0d6d43a4d52a69580695f08077bac295f1d9ad2a26b6ac2079aa22fabc37e4bb0085ea3b99dff5ad30e3e6c8b2a05305592d4bb2bca23c439a21f1ea71146274ec04877d5b7e6695069477e4bac1cd87776e41777b82b9d8c0c45ecf135c1f45316579945e0c09556c8409174b187031ca6877fe25e245c53d3d6b4d287ed56667f8d2546d13c0aaba4162c7c360778206ea70bf46a6796fb05f815fc678aa003a342a52300711a35173c7f9bd6312a6f352a16f241d2bc521f3d9b4d269b99dfea8878ff89be1aa7b5c5b3c292528a2ae60e290901d1e53660c5fdc52597b2eacebcd33697496099c1951d2d285e8749f56c788bc65ff0784918ab7ba2dba83b56ba97c524bf8ed647be1bd00faeff7e6cb913819027b70ff2489ab8c7363e3a594f1903f6ea7e344fa957aebda3396cc06cc0501fa0ce6f63d05235b05e08499234ef02d751c5b715b36d0f1aa95110ddb78d22345ba3a35594e40fd8b088c660db9820160b9b9f499f4b5fe675b3b3244afdd006bdcf4ffde6e6cc1f287e5e3d110c08b6162197e13718c0f0c264edddd428e95ecc1cc8a77f1875fd6d57c9b6c842dbf4457cecde0088ae6352794e27651bbd35024062f99bfbe8e06a5b751bda90f703a942a96c7a9ebc1772681598cf3cb2a394844f069569a53af83af3d3212dea28065aee47b075f7f60867c6420ef92b2773a30534e3c87dc8cbd5b63dd02470f7980e004daa85ae5dd8adefc6667bc53aa168f4a57d339e80651250f63440086c2dc6ad769676e241fa6ea22d16b41b2e321a5cde85996ced70a8fd51e6f4f139f7346bf61712b45c4fa4f1600b20b383f5db84cd0e432022b45fe6dc7dfedc3a95370cb1c9ff056336324168799feb7fbfed460957691c53aee728a0392291f51663803e51b3d90ea28b79175e4ab8745a50fc1d06fda2b81b32e291d3f689ca13aa7819b1a859d3c4228e78a7cc9ccd2cc855db98faffa8d3f927d8efaa68cd81179454d704006ea28e2133d508f1aac5413c5ea293a3fce02c20c07f4f94456ded1ca5cdf957a97433f33f98d3de728a8677662af514832a6c3d9c372edc84215dca53ec8396256d3a7df1d0746800d676abdcf003cc35f001de4a7eabdb4c58dac4d710d5c3b721bb1787247bb6d16c82a30f1292eb9a9eb87a3a55a937a127df1e0e1c13e3db3d0040c094a8bdf19bef881f67971c3b403db0726734f2e342d8ac8b9c3fffc898716d685254898876878d9a7c83c6a774a42d29ac5c3538a7566d76fd08f1ce3e0d1f3068904fa2a8bf003969f5568b0b99edb4e8b0424e01e852dfa04788a97f7604760d304560f20b9462c337cb174cfb27abb520a9fad4b5c6d573cda81d7a5e8d5d01b9786fccb92517bdeaaa4d575d5a904d0e07a3791389ce25f9187eceafa9456c0f5c53c46d06f66db7378903ea4cc9f570c0b5498f2203ca13dd5cfadb0912ceaec9936912ebe474bf48396908da64689e35cdf77b6e98dae3cf659422c3977a4cfad55d3c3ec5b520bb1cf32f06ef200ae4f02ce0e9b34810574e0598fb491c5c5076a3f683140722c0c8bf304931c18628cb57853d07e250e60c0b7683fa95db9aec718c10648cb297eba77e7cb1da156d51136fbcdc3cbcc85aa3f1c793ff09c0608d5cc4f1e6cb601afb4a0b353d8ca4a17d0f7f41bd4e5969be5462ec8e8474c5901081cefb60d41f6477f3914704cf87462baf35a6503633225759d08be832d00f508671d0d4d3a8568ef6fd77ee0ec229416448860e1a71a13443e523ea9c35d60738abc23ea08c726a35443c79f0f06a964fe67808d8bc06638617a9d145b36fc0ce1837e40a39688a482806d37dab3f3814afe9e5644419ee77cd77299b6e9dc154305b2e38338cde2942021f7639e05ddee734885aaf5ff8589fc6ee90e7b89ff3005996db3af88056aa569a6842f276662dbf1c8e09b91224fe4b8b0a6852c6f61b2242caa48d605325dd572c67a569d112fa07fac5875b09412b891c0c137dd4c648d12f91c11c7078e2dd90e910f94dda15ce315123c89f279aceea3c46d78ead764a493a039fe92fe55a137cf71e349fa1ae31722de9b4b3ff8739f088a586d9df91bba30590eb91610805a789069174e5370a5a7cf0681e8b3854381d08ee2f3cb35f734360a98d6366d05e7b232637562da5421a712ef90515cab9e8a57b8a84e5b67f8b23fdc1a0ff016b2586f05d4f2a177801111105b385bb7fa565ed40469591255a678c33ed08c23995a88de15299125c0308a61c6c90c543d6af5d1ff98ed72ffa221207c9fbfceab819b6aa4b7eab85ae7ecc9191c3824eca0f850156cf82c9a7918fd6625a7e47efc12a94432181c24ec0fdee39bbe54662478cd4d694111fa5dc8e9c376d7ca22a3be3b1ae58752770e25fdb5b340ba380af76dcac4c14052a49aece5fcfbb6a390a75f795ce23e562adb45f4c7c3ffb18e591b213921921fa8b806048defc87782d2464681a9795d0ac7d7b72bddf345090fb028e130810893cfc2fd7c451d63e0fe9db5dc1b0ca2080908278b22b927bbc5df2d62a9af9b30bb7a92911e4fb335039881afb77bf05acdd4d942118ef3d4c69e52132cb5397b6bf8f5968d24c34a3691cc3e41601d6968fc27a83e360fafe5d12a93ffd127a940068ef09447f5f30777b67195b4ea49cd881adbebe6ba699ed1e98b406c6ae11a4fdf4bea7654ccde0645e06056c4074b801e0909cd510e99f6f505f8cb2fc5dfa50da156c871c93d74de12b35c1d8076b4d373047be748c1216f273dc21a9e0e9eb3d4d12f363e03bdeed908ddc430e4ac7c4e5a395e6e747ca4096a359ac5060ac7fc9575a7de4e2056a6304f92a632a25f2b94e4a5f89315c8f93a8cbdfd6bab7432bbe2cf8cf3585826bbea5b2e4fc7f729d943298fe35a4cb20890810021e3a74c48518aee09faa3613d390ecd9d7c2c5a5e1c5f630f0d0159017cfeea04eaba8e94ffc6929d0b029359afdcd5ccfa80a9563073bc3ef1c15503a6b14f8723e7ba7f9f18682d9339881764e4c694a1125439c945869c4773f7614e544b10f9748e46afa23209fbb8fb650550429e020a44ef314d4bf288250cd3b375189fdfb7a3a4e5baf0edfa74502018f9d398e3e7ae4d534bc5442b0b482950996be9cbb3e5308f897943aa47650d048cd75223c47f337ea2b16634335fd12b3d2ce71c9dda7d276c9d6da50110e5afeb4d9011898ee6770cf52ca87d2ac9db04ae4340e2a38841325b1c167fca1fcd91d92572f5298521e831d22714850d5a14acdbb00628d0bc5100266fbba38b84f030afb72faedc86821d00d2f0ae470431a5946d423878fd1244434a7246b720285446b61f1053b6f1376a1c2cda1271a3f98e5a5f7e6f8cbcad2c9a622c5e0e5e21e4ee5661bcc26d9eb716f3b44d77960396d654ce8bc8843e86824ce813b70aacdfe2aea8aabaaec66f1f4315a95f982946f3b920443d1e9808edf9124a48e957ab77429afd3f60a2ab50abad3a8e2566f6631e7a271f81baf050dfa586bfdd9a801cb85e5642ca8f2f0e98a76937a76f10f4918f5e2d219d21778d01fdce6ad178994bfc4a1cf66c4d2786a065d05b8a38e7d08570462a969cc54c27def49539839823a89314f3954545c1042382f8215f7a84924cc2bafd5d8c51613f97b648e41d6b017fa16daa4091b0d850768d17dbc5e05b98f7edb7339e597511dbb642da4ffe53d153f69fd854c3507708f0178fcd2a0c7871261372d5ea82551967e1f1b43de8caea5578e37d0912306e53b67c83f52c6a9cd428306836643f023f3bdb850d341d32c8ccd5e8dedf932f5a23b9d368d2c927ced0c0393b2828991bed20446db667fdcfc418569af84e60f12e286895e192bc6fd3764c70f7f4a3a144e60ce68440a68b9463417482fcb2a3345373f0d34effc5c4ff8ccdca36afc70152d7ea9eb547333990fc9464d6409b3c7a42da7e52670a868223b436d75f874b706a57b94f13035e6ccf7e2164e259d0806bcc21f476a150a7bfafd16dc43853aa81ac788fb7b5d44521aa65b0d5985081bfa98dcdb269c2974b171b768ab0b30b0338de400b9d39d43b8451edb9673193238f26efcca23bd364d1a9d22e4dbb5c2a67840fa2d71bcc9ca78b22c91a7a6110622fd0b7fa0450cf194a6f0a194902038c169256a600c56b47d71f6fa021aae4700d7d4c14cb0ea060e4ecd9c1936de00d39a0a6dc4cc4d0cd03fcbd6457df7e6d09802a92cb13225ae97394bc39dba82d0355510bd26f62632aef0dc8a27ecd5adfe5148f6c8402de84fdd3bde08a718b2585c60af1166ed798c5ccab952f7a63a3802703e70a957ad35b2bac86ffff565e868c8da80d9f2257ef80ef7e4246360cc4bc6faf28a854a4041d32402f134368c80b8457a08ba99480d6aaf8f151595abc521974f619b14f61f222737e385081de87d4180493e3fc51378ab7c9113badf0632b00c8d05984ebcc12d6d1e352a61e88b0d3ae45f4c863f74db85b72fece023fab2f32ab946704817516c4c7fc5e031472212febd3f335d6bd8b42e04d555d1225133fd1c44d874a77f0858ffbe1902951c19da0f2ed7ad3ec58667ce6be1779b2493486198cf5e4b4ab36e1be7aa30ac9e93c49bbc54f5536b317fd83816368a38bcafc82edbb8ede94c9740b171fd6a73452ef88cbd75b1e3d184a0d6ed903352e09989838c497bfd088eeec104b162e215dbca0b0e57320e6e723a3acdd68fbd044c5b6441274c344ee816799a484541c07e7be02c120a6bab847063d74ba3b6039a1e1fa7cce68199f849f7dd2a3b2361c53d39b0faf8aa8752448778bb6bf4949b52f7d930a3c7b175dd670a84fc7d6966d429bec2ea3b86791f8d6752fdfa09fca21c02e018afafdb18d17c9f37ddee16138f5ca4e7bd61bd3bf89a503da404ebdd696024df58ea435495adb8cc62ce7897d083851dec503cdeb28a8883fef912032ef38e099ac2c77301d9a26756ded10bf2c7e50574651c348db4a1204340c53da23fbfbbeede2352058a4a4799245f36c3aaf4259bdd941de6d3452741032dff2f51833fa91da6ce0224b335797dead29937bc8f8d821dd6dbbed2766386555c7353cd4a309a6f67ce7ec3ed3703789250911a1af69357b88baf8d415122820f23f93be3120e5cf7eea91b560bb6b2db4a4aadfca2b09a6ac24b6ad7e7ee6c1b003702bae5347f2a8ffab6efb517b2f24289224fb903546413fac25f3e52e520d5271ce745538117539549b8aa34c6b2153450d292239410e13168bcc4639b536d5e5925ebad4cd3edf4e792c992527670747382b1b5adfe52d3d724c56f3d5f0c0509c51bb96809289550c463d43b47790a5b8d586b4d57c673d53e72d5a9a8cdefe771ae448b0802ba8f6afa6351b33ebc2121670d9c53dc3f0ea46197b6e7587e8e84831a69e43a2c7081d3243d0f430878317881de24867d5cbd0b917ab3bb8b7e7ee0f8417a44a44c6fc8af25800ff6412ef8c21f667c4daa417271f1d14e1e605152a9a0cef30ee112bc16b2c90fda0458607f488e8aa1eb2d83e12842aecf5124184ce7d7d951543de58cdd74018deabfc61fbc664e9da2bf8ff5a3443ac396bf7466031322bfd725576eb77faff45198144f355fa64d7cc2e272685389522a79168746026b39310423339b2058d9c7c0c679125ca5c29eca60934a78df6994388ab96cb0fa396b50422a4fa7ca00da4f8df89c0b546eb55612c453eb35bc437cb0748300dc80f5ff7d9ec953423334d755b46894dbac92b004fea2bdfe5b63f148c35103945d7502d9fd3f5a26d483a40cb47f6df01c566ca42c03b34fd301539a3d65c6decdb729cabaaafbb09efeccd16ca0c9407b31a4b18aaf0c893dbcc7c56ba43e020f82c8d01b6ae6a75c5fdd5e91bbc33b731bb982e9b8d65ba510f4071f35d342acb6feae5e0b874d6dd06f6ee88cb4ca1c05673d14bf9429b2f8fc83f4a1024dcb655a709ca597f5ef090907af342b5bb00ea2d3d07d268fb2703ec56f2b97f8e5854771c2c348b3b8d88e054ea11f0dbf417e845f57ff8cb2b0d3e809fe6e8e769b1be599c2022c58ee408fcc0d5312bb0a17e872961f53f31355f6eab5ac6b4b7d61d5e562d5289d219e997d2d5b3f131371fc61242fe90a15df8f36604f78ce3190522cce78eec8b380bdce8180f4e5c4db7154b006f068f354e68df073a11399146c24b5e0e2549d3b474086b9f6a6fafc1e0a566c1fd0eff5f8920daa1b38973d0516a44d69f3017c506791f91053a31871769af62228b8458940520aff76dfb09c85e943e2d2d31b69a2f473a10884fbd392cc0a1ff78cc4251ae84cafd5645f338c710ebd3b8f7516bf0a561abb60298adada05c9e7c92d3a125fa98db67ef7392ac92a46b0fd8489d5ee9cfb54d26dc85e2ee67d75cc9b9be8308c060a6d36bae65fea8e54cfee98d950a29de9d409084dfb9c0b4ab7a63e7b514255c3baadb180cad6d792e192c933ca7064b7b8688b77eaa588457f7a5af29bf49d3ea947431aefb0fd0ee500c970511cef19c3e61a9d9214dc4f0bdc9852aaa666eca4feffbab65179fd04f9f9821bcde86e27c878a8c183d3ec00cf8850422283b6c95f01d2faebab7e882d903e6a2c007c19f04782db35ca567853cc0f89ea76911189d7514a6b59822c5e62a9eb8f9df1f0c71241cefd9dce7f366fe345d4ed59a8edf85922f52984118fae6b9b344b2e50f3377ed590baa21932d0ee2c4c7b0bb837270fd4119792fbc76665d71b49936d7a0ed841bf3dbb7fd717117d82e4a82de6ff8965363f249ab9a375cb4f19fffa4e908f899bb9a73f30f096c8ef8d952c54d0ebb421712437d5840fa53c7a76afe5725e02d929767fe0b0e75cac7c2f328b6fc40cd5097d9af4713bbd47347d95a02d48f201c28d0dd95dc650b6102aa92ab4930ed8e28fff840aa7307473bab7230aeb26265fcf4b409fa68d7b930d22646f36b1a249d1b276a8c29d3ef1d5d6efa796a43abeb86028e3269348b555cbaad9a2d8c21290a2ceec1913b4d3d61e825ea8744a19e079c410691c896c53ad590b9d91c800dab4ece74c480843ab2c91bcab4307e96798f1178b41de0bdfc0799390778d118dae387c042e013dec8f923c16c76dae3da63de5adabc06bae8cad1a4b3e3856fb634d8942871a69e7f4c4e0913bb0b9cca95ba9e04b62fd06d2745aaf1f46ff189a3d3af7a81e349cb0545439b7e7e95db28b42e90a2af4d58818cef326ef922bd036b268d06463b199677d27aa9adc42a06cfa71a3a26b392c4ea4c1c194f1ef6760c6aba7483e227556258be8d1317f94105093d17b368c94ca534b937584a82d42cb3e83965c567577a04e32ec7beb6dc78d06aaf436b84c4c4820b7b76d4a65e338e4f5bcea45d2aecb68b3def59328a2b7057c598370692c9ca51b1f7c60fb8893fbceb1ea756f5bde1d8c6611e2759c6dab21f0919aa1bc4f2da834ed6f6ac7a8e5280fbab4ea26ca42aeadf15cb86464b1111f424803d738bb010016db4ce4c00137a36850b0cfea5e4ad0bced0097bbd6416be48842d8dfc07ccca9b8b342d0edd224b5a1bebcd79eaff9dc9e86b1f0637bc43d7e5a35cc1a2d84c668cfbabe1bc5eeacb99fe2e27cf5a66e944c725a908d76813fbfd60e7f5570ab1d1240b6feeb046d15455ae95ea429e68f2a9b5187babde40e1e5ea62add26bbb9298d4d26e561a0e8324dd4c74c1a4fea6333b4dc738909d50583c49cbdfdde3747dacfa1eb28fb5fcf7476a00a51b99f5142d291b1e25d8c0dbbe9003ae8964f4029cd524250cb221b0925566d8de93cfdd8b104b719785d06d2494e949c96179d81f79593e2b1461979d455ee55272448400e88dc13a638687c763ccb402ff707b9b7c4386544fff8bc01ef1c4077c7a0c2a31aeba5ffa9ee456bd12ca224f96545e96ce2e985aa88ddce5a92830287da3736ee4124aa0ba87e16b860f0fbafa636e52bdd16662efd653daf940a7a85f6c8380d0331d0693ec0fd4517dadc8dee9ceda69eb35d7cdc98de0c8dca0e7a0e35a3246be30c09e0c1145650fc4a57be35e73c904f70b1a3166ec2753439052c10259fe95f1b5b419531b627fa637612a563e4741767fff662056ef401960ffcebe588b37491686d40e72ff9e3ceb8b67637e3d0d7caf06b1ed0f34173085be689c80351c584ab82e19598fa17a272e98adf51b850786c2c862e2ccc0cab64bf7ac89f8386e5b2a2f653fe39e6291bfee1661b7bc1bf6dfaa831cc3fe3b22be9201385b5822bde19ca84e351b31554d8083eb642d038bb4bafe42bd05f0918a06df97e9f7a1592446e2646e8115255dd4ee6c3603f50091034fff80a54be6c966756c90e8a1aaf3414dea40d30ccde8fe9f4f31a9296b94e5c85448d3293951caac786a2d1a62cad06ee0d6c4c83c56c5c2d71ee70e7a974546328c3715a4a4d983ac74f44a39b5b625b1f3bfc62e593c56e3b4ddce385cb8d4274a4a81095b67398148be1a1bb42a990735bfdfb904eadc47f1217c0311a5dfa440513172c00225db39aefee761000f207512012de239842a43100defa0982f14a21fed38573c332b0c0ef28f660f962e62c207b78f52a5b374321f877ddfbd7b2785e32014ed255b862e51ab548a1e4899880e0f6c14b75aacb79ddf66686c89b3007e690855b3d1d6f807a93ff4d740a0fcd1bd933bfdced46bf1251f5001b6a4051c49147217b7c82e0236cb1290123294babc106cea6dbdaa2553b896f4fd6c22b8824583c5109ed3218a6f1454ffed9499eac0629f49143871d37a885b3c774e2453c130dbbbca4d1c9a1d10174476fcd8b2d420120880811ec1bdf1436a83cfa2edd21be0ab822fe8cbb20043a1b5b69d5b382cc1f4b87cb04089dddbacd87bd3e888aadedfc9d997cae68ada1685f76a15d313231804212809175b958e3350b92265565e76be4071915be972f46fc8dceb4e8718221e0cab84ee4151b0d56baacfd999339ed2d1d28adc51c026c3776ae9d6523a9fab1b42401d787a0e61d2ef715504fb23cbc49140d7e111c9d4decf38a5331743b19b9eb8bc5a6f54f490b1947be83d6b8e64ededac3ed8c857a9f2e0eff9d9327912dcf7cedb5b87454f4bf170c0bdb284527d0f66df1dbc6237b3baace678c9ed88b4443c9c2bc3c6dc7f7f558ffbb94c34a061aee07609e06855cc51879dde9106e0f404af3103568839c74f4c05c3619caae5b2457e499f595855539d42108267b80f7b8df8dbc8e3364ebc9d025414f8bb311cb43bf24f21087fa3099d8a09e545241afb90700308b3097a751920864c7ef72c8d16d381f7ab4605217e5e32d0cdde70bb5ec74ab71e74e07bce0c9ff71399baaa4bad365620d9a043916394cb9ae8542228beafe2ecc64ea75da32562285f7a098505971ae5283fea982e624ae7bc93179b9b613f8d4ef213bf95fdc8e21abdd23218e4bf0f3f0e5a394c41b0dd2bd6e0c070d4ef706319397d4e0d0f243b37d9d3784f5417d252873d926df1502bfa788d5cea0b795f37ed95404cd2facdf0ea476f0fb80cf43ba06abfa5edeeeb10845bd7fe13c7b20ae59361a625e1caf98735002357857e3991bce214ea1636e51d99e3876e6fcf6099de85e8792b5c1ea1755711194502b3b90c30db239b9f6bec00a60caf447f765d53c052599b699f90232522667cbc795bac57d61d5e4827d596291d8c54c852d7a57667435c076bada0820238b57841dd1ead6b719146f81149bda9f635142ac6889a501c0e9011bbea7fd76eceba6f4b7d89e94eec1feae39f8fd646489fcb222b9fd44cbd3d521ab6c39845f5ea223fcc1fab3755e15dc3def9d4c49ab0e2b02e42db095e469380faec734a8b5258b6125cc4be448f3a52f41adff43849933cd3c343a386ab27056eb59009e216cd59e6483ca23cd279d3dcfcdf1e4fc439946a0738a8cdc31a16a9f282c443abbb9dcae1e22ae1cd2be13fade53c82c776a314dc5a6770643323469a33d1f1d0e29988701c3727cb261601650b4c15d5dfea51230c64126f5a60c2b1ec790b39be8d9f7b3f1be1f259703c7aa7c760062a4912496f2f3bcec25b8d94ceba38601651278f41a230f43c01c42a3e4161d6df3d0ad65048cd212f9ce7b9686b1824604c5a77a5b862c80b365c119cbbbc6ee4af378e0eae38390bbc6079ca980c6c5457302c6cd3536f25a41771783d6b00bf64aa0c0fd35cd34959c89bff524a38c6f2a13a92dc2f4486fd0ac1e406c082d5b43614e66f050d7a9d0f332ec2a1304f2bdc343776ed86bd97c3b76b521c82db9cdce8305a13bcd1937ab223db6d5368513a50e37c071592a780d79730dbf078f0bfb7d320ea0ebd73aa744a055ff6ede86ab782e2d83050d39ba71da8a0860f17644e62979126433f59f8b7e4cac6f77f0eeef3b54ccd14857e9e97c1bb888dfc472c55db4cd7af9e88f13c5a5bb6eb19515686615ce9b9d15089ada58ffbb23f1b44f9d069e7054be0ba0a0e925e33e08218e565ef3e2c7025ca854ef2d99206a174f096be3b75c7a54ed5a8bff96390e3610ea4a7b3dad2e2d75500f15936eda7f5c4cf00e3a23d28eb1a0ed369453e5d4262965de587c7ba87f0dc12c389cab3fdd28143b7b23c54f7ea6ea545e7f006dd65bb99712d471f042709668ccf2387042b38307ba47c33b3a25f6bb9366dac658bd199fa994a6397bf782e6fa13186ca3cd38ce51120dfb9efd18b240f930914dc32b3c09232f7ad767bcf82f62136415364fee13d05324488d36fa0bcbe689d5e9e4543fbb5640623ebb8b5ff6e50aa704fa5c5c7b580f32736434cdaadbb796025e54253b57322eaddbba5482f4a4f2a293b5c088ef4fddbf22dde3f57594e636a5a0f734e5b12dc68172def2332ea5d06c823ccdbb199246aa056997a9b6deff633d5754b7adc0258e5318be0792798562ee107636165fbfdb163db6c6e31149afb4749d7731c52d9aaa4fd71962643bb99ee05bd805d1f5f2e1b2380823a27664fbda02d0fc45cb2991855823b4548a933ffb5cd75b9649295e48177fb01fc883d1f27d504a7096923ea425e880bfdac8b1163e988066764a198025d7486777938844405286fde57a69db46a9f9849f183056755f4e5947d3b244bff3ed7b63f1c56ef677b29466f2dbc30fcf0c107de047f2e8a04b3cd58fd32805dd1ff2869f3d969f932655b5340fcc913fdc350936ab105387b6b1c4b5d30097a37d8b97372ccccf1e684b1421975bec3ce04705550a84673466af7d2ade90cb3c0a0698a2946d697bcdad9364c7b74ebd362936b94e75b4261cba20605a1345331cf280c3105184b4d1933f7a6eef51c5c487fb420f737fa1a1f36ad120732a74bd73e019953f99a0fc4cc7cb9ce7cd734b598f2a79fa2d10ef2ce2d6a2d193e6ea7b33cc1896c2c884780f59ecb928759ee1de7d58365938832a20ec96dd4a71b2a02d93439769cd38e416c6a63012dec2b4a7ff56e3e68511cf5a4bc7283e051f6dc8de1fe79861f42bf4ebb99137e97b728022df5a9bcdc60509cf8b4ef645ce509a88b24600b5362ed451531bfaa5cedc6dcc3cc9909c2641ff09fe20202859c8d7b5843fa9024ab43ebc395f215d14979f8cb25e6fbeff49fac2c0c3fac061897428872c7bdac26bd6fb8f20a39958f1e558b3fc75f91ab425bc51d272ad87f01d9fab974e30248309867a4a63a4884e760c12bf05b0a250b603181520221a0ab637f3be3d8b8b46eb07a78114f002e0ef05026cdd91df08b1bec71f4b98976c6c64658eca162945f0493ce0a0ec8992362336b3aa0f2c4ed0347aa8b966a0ce61e4e141ae9c41806edcb36e588834e97f359085adc543e3bd4c988e27cd64ea8c2bbd85bb722595bd8e2d4149aeaf396524409673f00f475930e19af3ecb664d91401c95e599c2aeec6b6959b311bcd6c04cb4ae2ccf8d4a9726b23a252ac55cda02df77bd8a8fa64a378956e174974aab5f13fe1dc262708a2677192c575605649cb8b0b30a10598729732a6e0fc1f113e41b4c2635eed02e2e424e8c52c4589cff0d6253c34c7d96c4345746cdeb111566c2361dc00a557c831e4aff26cac303eedfa096b42ef0b83d4840933dc61ec18ed9ff8e09eed89044c9e3f6e2f9349dd75974d41d6bd388d33b6bcc708ec00cfefea6c3a675c424c894d893b51282ef427e05207a3a0ad2c51130950c99785e2e6153b3d165797ed1e19d5e28646589c4fe812451a205ba7bcce27eb83ffd3dad3b3bdfbf4bb35c4eca93942581c5e0010257020736e021560ab8b2569fc8087214f6d69011304401c79afd65b3f4ebc76baecd883e65ae27705f4c20b66a4593abcf8f3a37db9db8806177050486df818c7c3a03b06181d19b41f93ddb6ca98249af3a83321e7a6a359f4a26cff7afa8015ec08da2020b9df1d26a40045bbc74612e30fe16e796b83ee66fb75002c6ac060455d78361169a098e9d5d15ad2695b9d8e9647eb542789ac9d4076dc01f93d8b8426193cd911f0a18a9f716d2b375cf39205c532c742d99aa6d94027d15d100cd59c71dad428be9c1cf7227b47a94bb70843887aeceaee955280678680fa2f255cc996561e156b2ca10064397dbe4451f9ab3b1ca6843a44bbd677c3e692e6e5bfd82548fee119dd25d155df4d3dd8482466dd8d687779b0cbee299e0905049875d47cc83ad10b3e2f1ded61780d79effb0d7fbda4453eb4a108d24ff99d6822e51f69c5d1c974ebe70888feafab9729bb7a297676dc9bb56eb663730e9cfe52d927ad06c08dc582648286fdb42069c936911348895b4772c497166c967d637a10c33b1530f08655b41e59c9cfcd6b1201eae85696a8fe0fb6dbcdfa935547680841af3b2174859608e87c33520f40ce7c30f89450b47f73de3f2e42ba6d4b0e3a868c3e6a6514bc018532d13b173f536a66defe5bfdb910bd4f44a2b9c524e416e189045274ffdf27de429e45423eac5d4570bf92e307970e89c49d86d1945fa2e9282c39fd326cdeddb2d915364f386d7b8c825f6202f7cad9fa7d14a65d9845370ea401a8af381cfdf0427404665e11496675a3ed7522324c74bcfc790dac13997aca78c6640faf0a44d7f9ea955507e601a88bf9010696fb07ac9e894d37dbc360fcbaef07983967a5d2565f19b6af7ee0b7fb95cdaa3587720040cdcc13ecdf04abd36036549923bc3c990b1a9f0cbb0368e635f6a65672f0f6564dcd1543f178a91168402fe19462cc74cdffa2fa156bb56d627f3c9f65086db427da0e7aa5ff0099183a764fcac493ebed1d6636a3ad261f0445a95820c2dafea458cdf57caebd30834764cafcef13121118aaccbc5aaada6bdd7d6f027fd6dc6b8cf900eda09e9f3f32a72a4b1f64b292f4ddcc682e012ec6c1369c919019755735d6c8af9d3795c1f657c7cb0b2d9597395bf7aa5b0aecf59bd10350a47f5cf040bb9254ef822060261283c1699fa66019aae26a98a269a94ffd6f435452fc669be9a4cfa7c2fe0e319e5898685c7c2b28ddd72be5b94ab240b510ed7b07a49c1cd3f6b697fbb13127b3a302541fdaa359af3cd5afaebbffaa4c99be51b8525b61f604b6c89c5aebf490a6dd327da668518227640740f08b995adb96c3c2391c9454fb002adaf7f21e1fc4055b551ecefb230d087b094fefc14a34fb48a1a52a0201f6eb9234080003e692c0425e87bfcf0a670f9ee9a8ee6ecbaa19c83399911ff4fba854708beb73bbb9bd5babb14eed3f6b4e365893919e09dd09b52ce3feba20a05b52e9f1351844a08d281ef4f14e9e9f2d14d9704d8bafc66ac68a2471c20b9334e5cb841f1d36cc945c6f1b565d98eb5bbb62bdc74fdc33a9d9597f6dffed5995a77f14942abdc4f85a0c1ad6ec595e0a969e3db2738302080439e1c6ac1ed3a3719a4320116afdb7c7b422e0abbcfc4dd22d59f4c5285192abe61bc0c1707c8e8c28330ef00448355ebd56552c157820580e3488e4f0745b714ada5c3442f184e1d747abc66b5aa383b8083ba3fe8e0a2bdd1bae305afcef2775483023298a9651d6f7c8e56a6caf85bf069f1af2ee8e2c5dcafbc74e33e9d20151e26561e6e1ddec026b16dbf933a143d495dc18cd2728d50d4e9b9b873ac9ee61b4aceee1af82eb7585524336cf973a3bfe99922507de88b768479d34a1bbf056b3982bd0805e207c096bced4384f224b8747a14d4003dd424c6f273a2cffdb1277a2d8f25515ccf19c777f7e6bc872fa2bfba5c43a216aa341f743efcc65009583fe7646139b178fe885e1f3fb6a16c7040aac877ef46d8266a65125b7e327f5862190c1f7226ed726e669b1b099d9f8219eaf9484e53583896ab9824cae6f1462f1b145617007e5f37681684b8ddfc637133e7905010a9a13f66fae10372071978b5b8c8eb9f923c39a1534a7da87930e9506099bf5d5844270c487e9f449903f3c35ce5e73f03960e3683552c7485d52eace58809f69840eff1a0619ee3afa2b69ab03e0a3d1ae9049133491498039ecab8dabecaec5ba7d568abdf3bfcdbe6098ea8f1ca53f2eea8f7287b2e344afbcd02c90c204850c1dd850f73980e0f21985b4cbc791500517dcfc8dcc27324822de98967b604919f104731767a4387c196bdc18e535b6b4dd128fd8be077913777418602a6e01010639d8e45a0619e22791f160e3c132cf3ec40c46cec97c304a1646e18f42af642824bc5521c555b11cb4f62038eadb8bb3578b88346dffacce41573337195221bb4d56dbd924f71d1eadeef640867b6682eeb224725e272c33df88ddd13f54c0ee014a6f91f884c4f1fe7d9de8aca1ad32fec4a3da33c69f1b22740b215a61147ae9243f0a11a16d0d2eb28233ee30b85925a4267e3bb19e7b67d478042f065e61cf157765831c11ac389f4553f67e03819a26a8dd31d1e28595291a95ee42ae35024de76136eecd56535f8cf8b8a9801328eeead29b8630ba4bf8b65fa887a11c031b09f6e8ffb59e3e1b780fe05c691957ba3550d8edb35bf2fbcccd395bf7d6d6c9d0e9cdbf182b02d95e6a5fb9236f2683341d86ad08271f77f9a0de979dbc2c9dc013aa58cc3f960530afc6ce99de5d15fa9f105cd0724689657c6fbb97e238497a301b91129935198daa734e53a380473ebdf58f6fb3a8921e21a5323304724e84e0493c37b0012124f1a4b83aa5307ef7e4ea55f17537d250c61d513f1d61351f8662cfc2af322a45e0baaa1ba92be73b921856a2133f37962ed3a217becdc5307b387b2773c86cabf19c8d8c1b077b6c49bc2e098b986fca29a99746a9c515c299450aad18ef8fb018d73115edb356defcdec7af3f63c9fbe8bf7d7e7300f9eb3c8b4bafd3e205ff32e4ff1e9262120c10260966e04bc9981656d5e029237616ac4ed8afc9236100e3a814be8d66376f7bd82087f5274f72cabab40b36a5a1f2df2864d23d8acf3c077102ab26b5d001e6aa4179c4e815f6f6cb3a5759d2f8da5f2e112ea6a753e4388caa3a4d8243521cf6ffc09a57913b802d21962c5ad4a10c31d59747a08bcdaabf218f65ca1847a7a8a54b98346bf2b33e9806d3e0f62392c25ed32170b1041f7a64153f9e5808c846ac7b6e66ed3f917bf8273cb364c21bb4be87a1f52f8d4d9252ec267831903e8c9b9659b9dadaa997147ade32a51e32b6f1921dd48cf1d685e913bac8374d50fb8ef709be2f7e5e3621a4480c5ed2dad9611857248f08ac2c799b346b1e0584663fd59923c69c54b7a48a348cc223aaff32c4a34261b4ad3ff6ef77f676f203a3de10c26ce5e2b1224a0a6969a0ba945c6c49ebfc4b245ea845e2ca3c753aa0799649e6f55bda1050d11c6719f678164ead997d35a9432b8fc6169e77687fcdad35ff123fca37ca91f45cdef7965c6eddb3a207329eedd49929f76a4ab8a6a9828ee64639ec2e8ce48535a5a17637a8e195d73e79baeb9408927a638e2683b1943c6787ef302d9c2962a104f09b731973e1da600901df5cbe79467a86d878b586608db58c924c45759626573c713772407c8250f639308df53054da23ac9121cacae43c9a81a38f0d2b29fd9b71fd7cc7dcfd99ee26beaf323198d9ca7307d7fb8e58942fe6943753bbb1c9b05b46528dc1abbfb2b806abcbc357435307483514deb98b3127893bc397fa9c5b87b45c2ebd8a765e2821c82b0faeb711411ad2f684a5f6b5c05d026881b63925d9b2aeaa2200a408c2973885d6c53c91fda0619669155393d1e5ce826958659f7c9b53fd0a232321d77dc2efb410d5bd7004b304bc369eee26b5075f6694aaaf2c068358f8fd1ecd495d5a69d8a5bc92364f7fd52ea498c54580f6e130484b130d9985f0ddb138e6b274f98fa3757c28658873833f312f9200271096d94a21773db6e790d62d41c01a744dd65c36b49fbf0d0132431f03226ee835c6703449a1eb119616bfc5b9922b2b11a0f07c99ed992d4a8f1a6f2997a2e2ba7dbae8ca69216ebe1479a5550aec8c508728b491f51cb9850aafa5742650c802c055d01409d54186c2e67d418c826a870023f55d9662b06f62d693392dd594f351bcecad4556d44ffeb921a158e991e711ad7af7a83e72474b25acdeac76a0362448a004be7393bcb1f95578b5633cdf9ec15bf2281a8dda44b677ed01368cb1d4cbe7db2a1dd21ef4578868ae95a5a817ccafb963dbbd92eb395a9032c30e88120c7b8feb0f3e84e73fc56fff9a7c723e04e7353b5d01b27655991e02adc199897b9531eac015ff2bf43933e2e1bcba751d635d32f42c3da6f85d4f936fc55f85cd39ebbb1a435bbc526a97fdf6ca15fe6e98827136cf2da969e09245ba4ca95d758e86849d887061f42300ad55a72134af263e804956a2134ca6bdb20879eea5e752eb806832e1db622a5d00d4a11cc6ea5f3780a0aed346f971fa41ecdc67dd600cae38c31abe487751721c93f34e37759a24e3a6baab0a299d2bd385268b7365d00620c05e8dfb34c1ae46188b3459bef9d20bb5cc787ea41a3e941779798cb3f8f1dc18412003d90eeaf4454db113c0af91e195ea8d822625b8c4f6cf61d26f5da48cdad5f02cff44784b68ac7bc653e29eae16dc022dc854b7eff137fa9cf23fdd3ea2a8f2b37910fe921a2d9ba725ca037bc6c98f5a2b28501f22151f50c790063f33c00562465aee6a3f5ae69dca0ffb03192b00c405c5bfe6a35bce1d89c6fcd261258e8fb2f4faddaf9755da6261b9d33fc22a6789f1ada0a84400d1a33c6bf7502708247beadd42e7b116f5cf2b26fbcbcac069be24a5ed35036b8e29557f1beea0fc58b13272987e6e432eb2da0a625165551ef066e41542e3254489d27e68d42c4e0c92babe94061be7af52cfacc202fd66006ad74c508e288c181edd227052e1d78b6770af6259df0a0ee14b98ae97213a78eb79d5ead05b5b7e0e0078874538e39f6aa517d14fc3ad422d9baeae08ba97ed7004da79c02ad5019be3a46fe6518b517173a943fb4f5ac8833f44ca63d0e811e57ac26ed1b825df2bfe5547777818d3e2587ca728559fde8674f6ab641ef16613939fa261b55de22dd4ccf733131b2a922e6a82358577b003e21edde7588c5d3f7589e17e95d06eca6345b8ab4a2ee8b15201438e9ae1f2cbe5dfe8ef3f0661722845ee7d4aa688fc7de9cbc1b5fa78bda61f7765ad4553087660f677f1919e798d4960e3a02238d917ff1f40c3e3f9c6f138a56bde6572e3dac158557c2f8144b7ec56afdf0007e7ce05b43998450734233faf7668aa62a557d2491fc76a915df3e966eab9f8b6834115fdd47e0ef3170286dcdd97cc1f7297f55ab488f262bdd56a91a9058cb2425104d27c2058b788aabee4d8b5f179d1717f64af453e9c894bec8dc37e91e959e052a103436d6f1b18b6f2a6aa3c721fa2f88344422ddd89bfdff4179c6f2d8e8d4734173376f311c088ec6a74d26336c7f2e4777c4515a9458441db207c759a227510bc30ec3c8a15f8db6857d50507ceea10434ce6c19826d8fbb3e519df4f7487f550e7e2c50580d2ff58d62d90c19ec6fa19675b76128b873f827ba80cdf2f5bd0218699006107a2e42b9d25aecd984a8efb43bbab534404a730a0221d7887ab521ab3974a4a53eff9efccfbd52fe082d86ca114573888c8cd6d50a05b46c1951eb2fe0b618c4707eedc9a440a04765629298e043dcbbc7e34dbb1ff1b68cac3415cef33d0599405921f38d83a19e2ff2a3ec6ae0b028cceb2f946027c501ffac646577b82768b49c2bf1ebc2826dcb9b2b6e5facd954f40c5c1c7adc7e64673dc9fede3d6e257bdf5b754c8706475821d0d4ebd0af884b824df8df22f8ae8cf82e05a366a643526a45da5b0b7d6634d9dccfba81143187b19b4a6bc5c38d4d088dcc213939d6a196f15e53beb60cbcea23e4d64cebc2c6658649fa867143fb492e09c1aad49c3d0d3ff3a9f8c45aee0efbd76a94a3f73f06d1548513f353437e7000f1c9e246e6dec4c267070f7734a82c74df43a7e98f5bd5b4415be0d312f48b52829e5e82654a1829569034045cfd5dc4aa737a651d0755c65757aa559adcba50b4571b538fbcb09b7d248e04b5b93d491324782c7a19ef9241ce9d04064acd82419e918bb185897233a85b4ba912dd9aac17162a6a254f12c45268b6d499e0012809d81ffc757b4fb187067d0aaf154826a21e6dcc780f2907451ee4a48a98f0c12653da70056527e1cf8e9cad774b0981b4b775634b943f1b69855d4bfe54f3b06bd3c294eaaaca7dba2eac101915c4f64377225a7e0332012f27c6fce9eca2f6b5586c2f7a59b83bca56b07496931ed5039b71b32247da0f5af59b7cf377cce3f05e95778774f81c2fe268b9237d6f5bf9aff1375d7b12568c582208a72f97c4cdfa86e8899158221ea08e48480f983227fb8ba56298e0fe88a0338144996f20fab991e2fbafbfbe3e5bc67cd0b05c4aa8d97807e5e0995dcd0b39c1f3fc2dc3142d11f52563440250741a11bfb28cd7a697a84a294464c9251a2ebca6c4d733180d1479c72eefd99d826d1a508cf3ceabea15540c34767eec5ebdcbaba75da02eee2e8adc146fb798594bbbe003fd7d6707718a3b5964b554a7364520100c87278aa280e6ac5031a2f807f6558a54c4c79be5e71acf7eb6262c8dc3b0b85fb25bb2a9d18a377cd8c818ee42467e7b91843537de8a97ac3025d609db33d080d59edcaf6da8956982cb4056277263fcefff8b3ecebdcc2464e4f1a35a2baeb3b9b9f50cfb1ec57d4a2e4fe638b0855b557c3c771e34a0cb18683a353ca30e3db18d9284df81848d6bf805478226be92b502a91f9427b91fa55600c4b08e2318689da61cc9c73788e2f53527635d8e1778cfa331e4fb8f672cb6398bc89ab2c8e03a67887559f8e616bbd1ad43326c9c86b52a07bdee80a8acf42ac618ab3956f18259ac4403b5df3e2b1d6d4911ed7ecfce83a4ac1c22eb5132e35d6d8248b69f4e9855b9be603a08b5c0bfdad5c9a27cd82d8f3dce5536fa0db8ee2cacb280cb599028e7dda3cfcb28ef20b88e84ad97f762cc97cc0360e2c0d842abbbc8b8e05dcbdd727d25e675bb6d42d4db9d8c3becf75f36b9f233efa1d36d8586fb7f76dc4e4c82dc9242cabeb5e9067a96039292f4d356420bf8b7c903eadcb9a688c7d7630fa03fb50fcbe71416c86977fc46b4a27aab192beca3614a2aa2c623e2b72d77e7dd17f6a36cd981e839bf87d8ebcb5b6e68f8543592d89833a9683d20cf912245279c045dbdf02f463c5f7e552ed55fe5ce241246f3a66c1eb5e5579e25a93fda11ed77ce2e0e70382ffb0ff9690304f5bf10feed6021cca365a536cf12ddc9679cef46245e60aaf4290f2d91f48652b73b2fe7ab0e675164bb310346897521cd93fea65f5dab033d3f131675873ed16bcff4835eb3a74627f22d23f5c51dfa21a7718908ee056878e4735ccec465e290f2b6318e0915d3fa6bce27881af71436103769150bd00549c608118e6b2b84964eaa6ad57d5faa78227f5781e343f35c59ac3e3591b956ac4c0c69279ffcbb7df0f633e9d084bdeb30a9db110286ac3ebf98127060a8a1a68511e66931b7ad4dd359fedde6ada689bda7c2e85efb3c2b5fde9069848760111f458cd75d0d733b87d42e73045a61acc35dac8fe9077fe53fcb2f775948e63f9c8a23b6358db1d06457b0d90030be3aa66771d2b9dad21c240783f73126bc4b058e995e1b8ec1647b6f5986f792540e4b7aff9727c3da3b39e8f941456ace6e97c7ba7c529a06a98f90ce156cbc828487945a6e6e7ab8c1cf16816cd675014f9e791ca7eba6df410646fcc852046361bf8dd0d5c4ed00d081501b10248b75801aad2403a53edf144613a76ee4f14a94a08e2390d4aebd66dc9e5ae3c29e419d571e6fe3e1b134eca34dd3b1ac6123aed0339e6c0995d3645f37789a568b28b27180957967a55dd295ab034ef34f420a7af36c73fb3c47dc4d54a094567fc8fb862236b80192b1e1057ecd6f69c70610ff6469181bfd8c9f7a76a01be0d05fd9731116c407e63935fac9e74c764b9a7f4d6c710f023198270b3d71681cbfae044eab751dedb770722fa6393844b550e2a039896eafc796b8539522c890fc0e6e10c88ae531499b9aab167916b1c0436304b0904a071bf73c82857b379f64912877a3456f59346a7f9bfa3a4780065daaf0f612e3029ee20fb18df364bfcb792a121ee827d0393819222d4b73317bb602aaedc1706385b4f769fef9007a22158df3d52acdbe7aaa01c651b828e7f8deed410377b233eff9ad8e991cd718d42e4717b1ea29a064360e44967a2f980dc5c356578d8bfc38c92288292fbe0fa6fc1470a8696f9be7f77de965f8b966fa5a5f5ed083798df1a1aa8f221443ecfbedd77e4e0f758880998c9063cca0d4849546502b6c0d35ad0132eed3e381b2d6029c3cbec94fa645392f290befca47dac5399236c5c7386f9013da7556a8b2160ec5cda5feeadb89ca4fb650e436cbdef486a9d252a02f1399b68ee2b1c14aecc258e5c591061ff3ad6c5e64aa67248f6f61d58c6c5d6c882fc5cfc05d6c66d5a743c939727bc1477abc438da96976cc087b7a168554e022acfdd94966f39641bd4083e5753f77da40deb8407279ed89a360ce18409c141c75c60494282ca329b180e27183ae8bf78e066da8f8732873ce1f07b231b1e2abbf3fa6911e926ab2fd8918b98eb16182ef5e4b1de05c11e63f0b1b71dbcdf54b11fb9d7ca6afb1cd68f9e520a26f319afdfb450d173d16995397cccb7aa8862aa759b76af729c3393fca1b63e962088af64cca963b879a35af76f2339a4c07a32fa3f27dd825d3e905db03b090401ff0ad1630e37d18db4768c364410081d0b34a8f2fe5130df923e17b743771c892765c29d754b44bcda92dad5169f9415ef7e00b041ef898f6c2b55a19ee3e757baf9acaa5cbd15439016feac695411e2fa4016b2df5617530f23f16f8727d95e49d40e518ed6694686c72d91ec8fb88917a5d1e18ea697e7c163dffbb441f7a915db1924a8d3de502897903d3a0b523c0f54cfac96da17621d7199720051b41a90c6596c6cf9721293e78ba6df357023d1dfdf6e8938396f43941845688cf57daa10fc60681deae628ce0842d5c5846b50d16603173ad7534a1ebb9e0ff9459bd96fc75bc3d9e57e93d1955d4aaf41b4dc2d8d9500d951ed9c8035ec5ea48ec560285f524a56fd97e5ad976d05fb324770ccae59e8566dcedb171baa06c6434cd0a73bc8ac532401c7d4bbc4b659a9d6d1f44917469ba0bb8d03e2f43075b43eb1164825a6c46d21069aaa95c87aa7dacc1f2900123476efb5cfcb5669fd60af9b41054b55e2c2bb5d6d1e2bd2d5b683fcb83e6e548ef3af8ad2fb57278b89125e202c8803fb8c758be508ed5b251d4f509310e8c61cc68f71532f0aceeb5cb70bad321bea88558687b7d71a8fd5b5ae67316def8784eba2fba66b804ca59e8ad4960418a8ba82c6b0ad724f087eb2b22302e4324f5d846f9454c3c1cfe34deb39cc746a869614a40cf553f49f3cddc6e205db46fcbc4a307f14cfaf3decccb545d0cabfa4ab959d0553314d98fb81744475c0be68429770681e36737f0a5a65a5d35c5ce357e66eeabba5942a7b42dd583408579c0590c27db747170b6627a69465d66b3571043e45e09c93d033ffec8feb0562cb6cfea4fad47cd5e6bf56ceaca90b16d636ae312743421ebcadeb04a538c00634007be809d3746f00a757b1b1d4195d7b0fca4276f7cfa0a8dc33fcd19ab4446997ea43a99e7abebf52d9cca8f4329918853df989bdc980f0644733cfbd4a478b3d78da4bc2c0a5b783fd5f09c3970b58f3bcd83799686789e65e095ac4099c10715d219dbb9a1afa67ab2bcdbdd308d334aeecd1fb77c29d8d77ab678b07300122b7de16ab24c2879488d751d9e89f75541f4f8571a71c9350f3da8202e2fd64f6fe8161a1d6e28256842e1519c79355d8040831dbc47223b8433036de59089400e5b81080bcca6ca67f3658a12ef1a143c36c4cf751ac4228fe7fa49aee165d6f5996f7136a273ab2bc7e2af9710c52465a6b482b47f0653fb56f9133b34a43430851c7d5cc4b7ea62e6639508ff94874cc2fbee76bd4c8d5d2e876c8ed3d51ebabb5678f0f9abb6fb17401aac6a16f4ee8e530ed1fbf8d6679dc0e4ddc57f1f70d30e99192d918d1098734426bb6d67e000a1575f468c820138924ce304171bbcad8becf25734b1229754a50f42592e4a70827185316c6922f99be88b995108bbfd01cbb8b146e2ce387b3abc747934652b8f8b56b8d23c9fcdcc8039bd702183b0c46073135db41001d024c120a34175528986e9366deb90bf0b2e5b350d2eeff039d466f98b38c5e00e7871604cee29d60ccdf2dd061611d00c47c8003d2b153187733df86e81948632df226c32bcede77fd7634d256f8383dd017364e62944495e1695a4d3d8be18ff10b12378d2847f2b0ce605ee6b4b5e6b28e7c2c1f4b072a82844dc6cd27eccdfb1a5bdc3f04a31cfc752b6e30be3ebebd7b7ee242a23c5c0e9c2a6fe7d51c283c5b9e2687b5231b7045fadda251e19b81f0ad35c55a6fbafd1833cb8fe4cdb4268e4448833d4542f959445441e423e50b7e9b525af07c0ee4bba48716f9f71705e171df7e14a36409223f766e36ffa3c032df2c343c809949580fb7941fe3a5d82736ca7c6f8f477feaaeb2cb04001f044c114b0b0f7d99bdca780762bb85eaae704e4788b6ba185c13995afadb2dadfb68d9f29d7f51db95befe30e778561b31dc63577da73976299acc16cf2951b3a6471f6c9d1c35f31138ef66c0164f81fd3b20efc2bdc0cfaba517479a7f9e527e171cb5c339d1c3d5b3c698ec68aa158656e9771de6a55964720a12da22e3194dc80c47549251f128079731532638b9587b20200e16dd5c2c1365d02290e2e6b02237374dcf8add1552d53f18f767483fe73047bd284ebd44e0e9fe1c8d686b2f081998c4d7517f9a417eddfa3b2e479e2f153657aebd735079d0600c2e490cf36e953fb41f9de68db8d3f27ddaceeb240e0c60f0c9ec663266832840ca88c6be45893ae4cda8f4c10cb7e169f4aa1fd059d5ca0b20341532d54c10232a0f708c79535ff01b3915c6a5c68b48baf188b6c5e7764b0b4cfa56ec3107664c536d59854c40d623cb469e1633dd3e8f1eea4a37f186b3f69c06ef1b9bcd29c5010e5bebf0bb3859ab773c256f2f193867c550ee78233cc0dcd2621661ecbb5f06226a951645cae38879713448fdb724b43984968966b715fbf585d84098cc586709e36470dd79e24cf91376387b24b20b8365b8b3c303df2184b82d286bec11db2796aa7b0bb2e3523da26018f33f15c6b162948cc15c2c24c5c1956cac056c258d0d36049039c976f1c372306ad08d7277e9821ae78374fb4db06c4804d303caa6e6981f5216adc9dc1492c4dfb4175c5bf9b8e5cd19f68ddc05d34e331a94a0bcd8b3ad9e14558033743707c012322a534ddd9f93cc3a9246cf044fea43581301595cc1248f2ec5d51f3a27a6904a27b9d1c2faa1acf50ec1a6a8c1900d5ef214dd57e2983ddfeac8e0f0466aa1c518c24a71e1a00843ad08d788172150fc8ce840f50782ee75526d96e4bd0af5e8eaf5cb1dcf883b5cbe68ac0f8f56a700e2884c086bc169af37bd226add681ad1a14b9eb9e60a088553ce6326eb2c37a79c731bb378731f7b3b21d67052f86c8e6f08e88753c4a770dd44d1d587b9ab6300bc47549ba803b304b5db63f92c5bd788878e5a3e1035508c5b11865a18c54874097d577ee0907ba151db7f46e88f73b9d8e3e46ac82297daadd4f2864e4145900dcb409c34a386d434586be190c95641ae7cd195113c338f111a9f63afc166812d0a04be0b18f18bd9e735b973f49013225c7b682adf32bede987cebe913c92606cb7309e74349b509d37dab100bed5ec60f73f9500e1bb5d98ac07a791fa7ea9a96c5d1287e73f9385d6ea76b5618a28838cf18483b446870117fe930553976ee6db7c12ef47b2fe20a277f062b5803e50aac28f0ea5a077ce5e0353ff27e55dbe5a8fc16b57ae4442148ad001bab8b498cf8f1d563ecad2d9b78e5822aaeb8f945e543656bbcb16645506231727a185975cb7e1f10ffafdaa2bc386918afa0cddea45f4b6f2d89931c9fcfab60cf6e526523d0e5463df75f2946d40572d1266611c9bac7468743858d016911bbaba2805904d493ba8a56f96966bf3e354fbdb64bf448f98466ffa22d4d584e57364559e71212a6492ad91e74300fc002760f43f551a9a757d7348ba0aacc0f00ddfa92eed1db988f3d9dae88df20da2dda3fe271ba180859fd9497ab5173c256dd8639c17f5d6491078690bbf8a3a671206811f6675e15f884294378ef0cc15675c9b9a1bb05940cb45aecc6116c9eeb344db28382d10d9a20cbe929f1bcf3e5a358a41f0c35698afe0138a1fd04b49d91624e88de2f293e419189ad41f87b66280d5b3d2070052a4ce4d46e8da03e386ad42db1746e4da9f20ca4ae413faf484f3a8189dad97aad89936560d0617d07397e9aeee5b2143e6657d2549b12ed7a92fffd4d5de89a768e4fee563c7604a93a52e60faa7baa57d99a5295beed510f524c0619d2a28bd4510dc16e1dc3bd8c25e264da6832f1a4987e7245b010c780b5e0e3d5338caa52905cccfa37b65b01f26af450e2af11602375e0829b09d64d07ba17ce0295baafeb91a025cdea35f958d19be937687148e2c74bac5bbd0bdadbd3f754e6c4eda329dd46072aa6327ba4baaad7b2f130655540b74590317a39e9160707bcaf1c5bbd85b92572b6c236d3ef4e33b6a2cbbd14889fb1766891e2217080b466fc5a46545a1b735318cad3800959c964f46ae444b0132a9d09262ff5569a8b2325c01f04cac9ba8b19be3770113de807b28ca495bcea37018aa24da1b5d2b5a519afa43343fcaa396bcecec8c99bf20694d13e0ef2f9c968f80a9a6799816c77f99dfdb37558b927d0b2861138758d606dc72ed6909c53944a7813bddbc44a6ebc22a0d8344823b4fcb54104ae99c69ab819623799ffd08470a2211dba7550a0a32d82e56bb7bc939a6a04c69f4431d77e3878e567d9822d019adec28e04c088b3803d09ad0d4ebd2816c3fef9e7380d77da0a016c53b014837d041601b62d5322c6f2ecc4d976e6403306b35b0e55ca09f5ccb6e39be7d583b7c2bffd54ba0183b02cf7e147295235085606534f153642b216a620887ba78b4d4052fbb6959577836f00ffb1d114eb9a811836629ae3f9a4e60e62aa2f52cb935112fbc43883b913ce4109e71fed368a3237ccf92b6d4c95e8da087b06d47dbafb64c7d71d67908957faf3ad6c7899ae1937bcc1588affc4cf52a268ce1ea5c766c54b40a8c3a185e94167bcdddaf60306feaa12ad72a82ff025f0fe857625cfa9ea008799668ed206b38d7dc2f38d0d0d6a116bd8bc87c6829887cc91a054c3bc8be6174e9f4cb25030b1b8d94b5ba3809910e88886fea7011d99cf0696ae323ab0598f2e08075fea5d522e23317a71e407faff6dda3c5ca5ca9713e6f51e805960e134ef56514f7419f039b7a2501f63d609f70213b8a2d5d1dbc56d216da4937366b3dc19690aaceafc614774ecfe7fc2b6265e77d98c7e984ab59d991efbb12545756c28cd5a3ecccc4a26f9341ab18f5da0146fda3033cd659d148c83792d2ed5254b373e94f72d052404fa7a21c58aaf9d89713b06705035c80c7f30b18705ae036e39d2ffdd589089f2b7e909c9809add21a239c2a1a999281227f9f4e546e87cd4e6de2e9a492d880b61d7542bdd0233e51a9b4326af9f9ea1898c44f596575db58e3385c8525869a1cd74b5a154c3c582192b56e72b94f0a76a171c64c355a0b985f7fd2f2bcc88c206c1bac9343b30f1cb9f72d4fd7760f6623c9e8e43a7e3865e2a171085e53f839739756155259083fc8c0ae7cacbb7e2fa0f892f758ca9f918da9bdfe6b3d28f2e0985f629bce0027344002c0ee60bfcbd29f2a260c462ab69ab8d0c32d2a859a5e98ab65e624674d54cfc070a19ab40a6671f80afe9abc5306a6c2da9427160a13188222d146169b74527f971e4720908d50c0b9c0f467d449ee4fefb3a8490553cc4df4447dcada8ed054a0907de0e93bcd4af70644b1b792e6eebd42b6ee8c98da9b44634f3e2041f3ce12061bb56c6ad59ff8286ed7bc2cc71a7abca1cc0ff4970a87491fa4d8ccefebbbe1390defd2a20a03e4bb64759e2889759fc5eb0c3eeb1294b7b120b0be83fd595a6f8bed063a7327921e27ec220ad4cd35d1faa23cfc28d5fd9ccd3a8c00d3c2a91d1843049f9b978551f4b2f6b85db54b461fa35b2fb8a48ad7fcfb1e9b4be4b24349e8bc264dc7126bd358cf5c74ef332a92b5eac3752b4c4f2f151f63fd6b150e2ba8905bc9291fb7b406097c46c65b7dfff0b43c730c9bcac240f81cb5550fcee6e2bd928573df65cf0f32542016e190436e647d436e0487663b52565d103b12275594ac7d329624350929da2560b84cfc642aef82c38fc7ebb7ab5880972e459d12fbd8dfd274f3f457d842afdc0cd62f704abf68a0f0e4bf046a60f148115f63c9469755daa91785b5c7dcb866f991dc6fab925ce340ec970b4d9607be95638a439fb53882cd1c74588ea3fd27f8694d73140998bdbdfab01c43acca59216bbb9a123c1c8f2dffff9a5ef3534b7010d847ba9ec84b3ac3aa12961bb2761b370966dd1289c0e2a0ba5fee486158ed875630f54c58c34e69d53840378c8d8e9326f30feae73922964cd56822408e85d1eae24942a1d7c4efa519a4ac16b0783963fc812147b70d709bcecba952e79e777bd7e90c50c1c73bd09fa6658d5b1864d3cf9040d3d0bdf32623c43bba270320da350e9245e0967af3cef7ac06aa0d612a502f82993f1a32bc4498fd4f4601960306988eb9068e18ce6428e8a56db84802f7b176d6ea67ac842b3a5877b5ce75d1de56cebbe5d784f5860f994dae286f892c68ee4a92754a2c57526a740cf1e3997958000fc7056519fe6b2020e060a3f7cb06d557092fbd12afc8cc4bd353f10656ea6d01ec212696a9679551119d44e564389241597e97b185659e544d891e748081695719e9fb3d78aa5197d3b7a9e5a8efda4704cf4f76164b57493b90c5447dba6b3a1d4495b3a22cd688f6a76748ba0a47b469557083e4e01aa71a59b1ce8fb598ae9ba313d16dff355f0ff9ac3b6fdb31d0c5912367b371963ccff37ca39e3c704261d6e150335e32d6d52536155c7a5906f0a9da14007790f9719911e4408605523fca158ab4f3552a35f6033dae436ef796c0389093cb8294aeb1bc75cec8ced5b0b6850e3b702eea32d919b1b1806207fca4a703fffaecd72ddbb927c0957e39d23f53d823031cb7e867628b439d4340b759a87c200cba0bb450a42a1db75d53a0a276b237f196620c425cafac1b3de229213b8c6b7342c7f2f8f5e4c2ad6a13431813a9371a70cc133056f4ca4ea1e3d6ca0f98bf379753459c96137905b12aa2d18a5e26efbc3f48804d5e695def870c79f293f31f6b9b5c440aa05470ac5857f124204472c62ed1b6e92356d9d9b3f41dee4f5004df53ede00313ae74e780ca32ca1ef92b3ae11637c6f2ba22999411a1f24421bc3c444f382d8f62bb0f48e3f3660fd012a25a2ca19d2409ef76c733088b8e2753650271313cbefef2f8f20da41a3642f0ac82ae5d87268d6ffa59da57d11472aef70323146e6a200a0598ed9ee8b20772aba77d9936af2876999f44f1d5f61109be01d051a88818d979bcbf796b2cbf948c07f3a3b1138f5785ccb3a32c40659968a0bdc08e22a8370e9c94359856d53b0071465bcaa9202ee5c0e4afced8ee4cbbd819f5d6c3a16af117397ffae8c1a1bbac1f858fda976b50a9d9062a91b92991132396f3309c96c63e61fad3125b81d3a9e3cb99f7ac0f0a58a3ed932fc87e33cfd6b2666baddde2875af2ba432e0f6c3aec81bde3196d2d14994cdc391949253ce29ff8e74437bcc5d86d1dcbb0a62e6379f7848dc607320cd64796d12895e8244512da332aaa3a1397e82eed6223f4b13d864f2a4dafc8f1ac17a1e8f9890d76ec4f6ba0851c766cd42528d3f815f2a43d1f5b6bd5b188e6a9c2baca26048bb7afffa62bf3af9ed81212f6948388149d9f8b1327d1ec959e729cfe99036b1b50f5cf15ee2ba147acc1e47ba627530843ea3c08dbb7c0d74634a33e89827ae21eb1de1b3c0106bb0e99dc6d2a2edf5dbc54b39aa3c04cb89c1978f7656fe47443ae9c94c18d7d701ebd88c41a13e836d85cce5abe6266970cc02dd008ff98255bd439cb684299faf467c94d59e556184b106006e6bcd21c0e1a27fdf83915cd950016f4e032b08e6469e3e080cf44e8d6897d62fa3404e594fad9c7708fa279b9d44afdc19668693abd0cbc1fc526bcf0237db4bd5601488eb2c2d68fb101a7b21d19997d76b195030979642897a1</script>
  <div class="hbe hbe-content">
    <div class="hbe hbe-input hbe-input-default">
      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">
      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">
        <span class="hbe hbe-input-label-content hbe-input-label-content-default">您好，这里需要密码。</span>
      </label>
    </div>
  </div>
</div>
<script data-pjax src="/blog/lib/hbe.js"></script><link href="/blog/css/hbe.style.css" rel="stylesheet" type="text/css">
      </section>

      
      
        <nav class="article-nav">
          
            <div class="article-nav-item layout-padding">
  <article class="card-container article-nav-card content-padding--primary soft-size--large soft-style--box">
    
    <div class="card-text">
      
        <a href="/blog/2023/11/26/PG%E5%A4%87%E4%BB%BDbak%E6%A0%BC%E5%BC%8F%E6%96%87%E4%BB%B6/" itemprop="url">
          <h2 class="card-text--title text-ellipsis">Windows PG备份bak格式文件</h2>
        </a>
      
      <div class="card-text--row">Newer</div>
    </div>
  </article>
</div>
          
          
            <div class="article-nav-item layout-padding">
  <article class="card-container article-nav-card content-padding--primary soft-size--large soft-style--box">
    
    <div class="card-text">
      
        <a href="/blog/2023/09/24/java%E8%B0%83%E7%94%A8btw/" itemprop="url">
          <h2 class="card-text--title text-ellipsis">java调用btw</h2>
        </a>
      
      <div class="card-text--row">Older</div>
    </div>
  </article>
</div>
          
        </nav>
      

      <section class="page-message-container layout-padding">
        


  
  

  
  


      </section>
    </div>
    <div class="widget-info">
      <section class="widget-author widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-body">
    
      <img src="/blog/icon.gif" class="soft-size--round soft-style--box" alt="QAQ">
    
    
      <h2>QAQ</h2>
    
    
      <p>贵在坚持</p>
    

    <div class="count-box">
      <div class="count-box--item">
        <svg class="icon icon-article" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M240.51564747 647.74217627h196.07203239c16.59071043 0 30.16492806-13.57421762 30.16492805-30.16492806V165.10332731c0-33.18142087-30.16492806-60.32985613-60.32985612-60.32985611H245.04038668C225.43318342 104.7734712 210.35071939 119.85593522 210.35071939 139.46313845V617.57724821c0 16.59071043 13.57421762 30.16492806 30.16492808 30.16492806z m663.62841731-452.47392089v482.63884894c0 33.18142087-27.14843525 60.32985613-60.32985612 60.32985613H180.18579134c-33.18142087 0-60.32985613-27.14843525-60.32985612-60.32985613V195.26825538c-49.77213131 0-90.49478418 40.72265287-90.49478417 90.49478417v452.4739209c0 49.77213131 40.72265287 90.49478418 90.49478417 90.49478417h286.56681657c16.59071043 0 30.16492806 13.57421762 30.16492807 30.16492807s13.57421762 30.16492806 30.16492805 30.16492806h90.49478418c16.59071043 0 30.16492806-13.57421762 30.16492805-30.16492806s13.57421762-30.16492806 30.16492807-30.16492807h286.56681657c49.77213131 0 90.49478418-40.72265287 90.49478417-90.49478417V285.76303955c0-49.77213131-40.72265287-90.49478418-90.49478417-90.49478417zM587.41232014 647.74217627h191.54729318c19.60720323 0 34.68966726-15.08246403 34.68966729-34.68966727V134.93839925c0-16.59071043-13.57421762-30.16492806-30.16492808-30.16492805H617.57724821c-30.16492806 0-60.32985613 27.14843525-60.32985612 60.32985611v452.4739209c0 16.59071043 13.57421762 30.16492806 30.16492805 30.16492806z" fill="currentColor"></path>
</svg>
        <span>22</span>
      </div>
      <div class="count-box--item">
        <svg class="icon icon-categories" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M900.3614811 257.09082106h-339.81629553l-67.96326003-101.9448889c-19.41807444-29.12711113-48.54518557-43.69066667-82.52681443-43.69066667H123.6385189c-53.39970333 0-97.09036999 43.69066667-97.09037113 97.09036999v582.54222222c0 53.39970333 43.69066667 97.09036999 97.09037113 97.09037002h776.7229622c53.39970333 0 97.09036999-43.69066667 97.09037113-97.09037002V354.18119104c0-53.39970333-43.69066667-97.09036999-97.09037113-97.09036998z m-97.09036999 242.72592554H220.72888889c-24.27259221 0-48.54518557-24.27259221-48.54518556-48.54518556s24.27259221-48.54518557 48.54518556-48.54518444h582.54222222c24.27259221 0 48.54518557 24.27259221 48.54518556 48.54518444s-24.27259221 48.54518557-48.54518556 48.54518556z" fill="currentColor"></path>
</svg>
        0
      </div>
      <div class="count-box--item">
        <svg class="icon icon-tags" viewBox="0 0 1098 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M283.42180005 272q0-28.38857157-20.09142843-48.48000001t-48.47999998-20.09142842-48.48000002 20.09142842-20.09142846 48.48000001 20.09142846 48.48 48.48000002 20.09142843 48.47999998-20.09142843 20.09142843-48.48zM855.0332285 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.03999997 263.58857157q-20.9142853 19.81714313-48.75428534 19.81714312-28.38857157 0-48.20571468-19.81714312l-383.04-383.58857157q-20.36571468-19.81714313-34.55999999-54.10285688t-14.19428534-62.6742853l0-222.85714313q0-27.84000002 20.36571469-48.20571469t48.2057147-20.36571466l222.85714313 0q28.38857157 0 62.6742853 14.19428529t54.65142842 34.55999999l383.04000001 382.49142843q19.81714313 20.9142853 19.81714314 48.75428532zM1060.74751475 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.04 263.58857157q-20.9142853 19.81714313-48.75428531 19.81714312-19.26857155 0-31.61142843-7.47428531t-28.38857159-24.13714314l251.79428534-251.7942853q19.81714313-19.81714313 19.81714308-48.20571469 0-27.84000002-19.81714308-48.75428531l-383.04000001-382.49142845q-20.36571468-20.36571468-54.65142842-34.55999999t-62.67428532-14.19428534l120 0q28.38857157 0 62.67428532 14.19428534t54.65142842 34.55999999l383.03999998 382.49142845q19.81714313 20.9142853 19.81714314 48.75428531z" fill="currentColor"></path>
</svg>
        8
      </div>
    </div>
  </div>
</section>

      

      
<section class="widet-notice widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-notice" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M512 945.02305225v28.15620663a24.27259221 24.27259221 0 0 1-24.27259221 24.27259335H394.0352a48.54518557 48.54518557 0 0 1-41.74885888-23.78714112l-110.68302222-184.47170332a132.04290333 132.04290333 0 0 1-17.47626667-48.54518557h118.4502511a200.97706667 200.97706667 0 0 1 76.21594113 14.56355556l20.38897777 133.49925888a48.54518557 48.54518557 0 0 0 36.40888888 27.67075555l16.01991111 2.91271112a24.27259221 24.27259221 0 0 1 20.38897778 25.72894889zM997.45185223 463.45481443a194.18074112 194.18074112 0 0 1-38.8361489 116.50844445 24.75804445 24.75804445 0 0 1-36.4088889 0l-34.95253333-34.95253333a24.27259221 24.27259221 0 0 1-2.91271111-30.58346667 97.09036999 97.09036999 0 0 0 0-106.79940665 24.27259221 24.27259221 0 0 1 2.91271111-30.58346666l34.95253333-34.95253334a24.75804445 24.75804445 0 0 1 18.93262223-7.28177777 26.2144 26.2144 0 0 1 17.47626667 9.70903665A194.18074112 194.18074112 0 0 1 997.45185223 463.45481443z m-194.18074112-388.36148111v776.72296335a48.54518557 48.54518557 0 0 1-48.54518556 48.54518443h-28.64165888a48.54518557 48.54518557 0 0 1-33.98163001-14.07810332l-145.63555556-143.20829668A291.27111111 291.27111111 0 0 0 342.57730333 657.63555556H172.18370333a145.63555556 145.63555556 0 0 1-145.63555556-145.63555556v-97.09036999a145.63555556 145.63555556 0 0 1 145.63555556-145.63555556h170.3936a291.27111111 291.27111111 0 0 0 206.31703779-85.43952668l145.63555555-143.20829554a48.54518557 48.54518557 0 0 1 33.98162888-14.07810446H754.72592555a48.54518557 48.54518557 0 0 1 48.54518556 48.54518555z" fill="currentColor"></path>
</svg>
    <span>NOTICE</span>
  </div>
  <div class="widget-body">
    <p>flex-block主题部分重构，详情查看https://github.com/miiiku/flex-block</p>
  </div>
</section>


      <section class="widget-categorys widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-categories" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M900.3614811 257.09082106h-339.81629553l-67.96326003-101.9448889c-19.41807444-29.12711113-48.54518557-43.69066667-82.52681443-43.69066667H123.6385189c-53.39970333 0-97.09036999 43.69066667-97.09037113 97.09036999v582.54222222c0 53.39970333 43.69066667 97.09036999 97.09037113 97.09037002h776.7229622c53.39970333 0 97.09036999-43.69066667 97.09037113-97.09037002V354.18119104c0-53.39970333-43.69066667-97.09036999-97.09037113-97.09036998z m-97.09036999 242.72592554H220.72888889c-24.27259221 0-48.54518557-24.27259221-48.54518556-48.54518556s24.27259221-48.54518557 48.54518556-48.54518444h582.54222222c24.27259221 0 48.54518557 24.27259221 48.54518556 48.54518444s-24.27259221 48.54518557-48.54518556 48.54518556z" fill="currentColor"></path>
</svg>
    <span>CATEGORYS</span>
  </div>
  <div class="widget-body">
    <ul class="categorys-list">
      
    </ul>
  </div>
</section>

      <section class="widget-tags widget-item  layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-tags" viewBox="0 0 1098 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M283.42180005 272q0-28.38857157-20.09142843-48.48000001t-48.47999998-20.09142842-48.48000002 20.09142842-20.09142846 48.48000001 20.09142846 48.48 48.48000002 20.09142843 48.47999998-20.09142843 20.09142843-48.48zM855.0332285 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.03999997 263.58857157q-20.9142853 19.81714313-48.75428534 19.81714312-28.38857157 0-48.20571468-19.81714312l-383.04-383.58857157q-20.36571468-19.81714313-34.55999999-54.10285688t-14.19428534-62.6742853l0-222.85714313q0-27.84000002 20.36571469-48.20571469t48.2057147-20.36571466l222.85714313 0q28.38857157 0 62.6742853 14.19428529t54.65142842 34.55999999l383.04000001 382.49142843q19.81714313 20.9142853 19.81714314 48.75428532zM1060.74751475 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.04 263.58857157q-20.9142853 19.81714313-48.75428531 19.81714312-19.26857155 0-31.61142843-7.47428531t-28.38857159-24.13714314l251.79428534-251.7942853q19.81714313-19.81714313 19.81714308-48.20571469 0-27.84000002-19.81714308-48.75428531l-383.04000001-382.49142845q-20.36571468-20.36571468-54.65142842-34.55999999t-62.67428532-14.19428534l120 0q28.38857157 0 62.67428532 14.19428534t54.65142842 34.55999999l383.03999998 382.49142845q19.81714313 20.9142853 19.81714314 48.75428531z" fill="currentColor"></path>
</svg>
    <span>TAGS</span>
  </div>
  <div class="widget-body">
    <div class="tags-cloud">
      <a href="/blog/tags/Activiti/" style="font-size: 13.33px;" class="tags-cloud-3">Activiti</a> <a href="/blog/tags/Nginx/" style="font-size: 10px;" class="tags-cloud-0">Nginx</a> <a href="/blog/tags/PG%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 13.33px;" class="tags-cloud-3">PG数据库</a> <a href="/blog/tags/goView/" style="font-size: 13.33px;" class="tags-cloud-3">goView</a> <a href="/blog/tags/java/" style="font-size: 20px;" class="tags-cloud-10">java</a> <a href="/blog/tags/vue/" style="font-size: 16.67px;" class="tags-cloud-7">vue</a> <a href="/blog/tags/%E5%AF%BC%E5%87%BAExcel/" style="font-size: 16.67px;" class="tags-cloud-7">导出Excel</a> <a href="/blog/tags/%E6%8A%A5%E9%94%99/" style="font-size: 10px;" class="tags-cloud-0">报错</a>
    </div>
  </div>
</section>
    </div>
  </article>
</div>

    <!-- footer container -->
<footer id="footer" class="footer">
  <div class="footer-container">
    
    <div class="social-icons">
      
        
      
        
      
        
      
        
          <a href="https://github.com/miiiku/" class="soft-size--primary soft-style--box" target="_blank" rel="noopener noreferrer">
            <svg class="icon icon-github" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M64.6 512c0 195.6 125.4 361.9 300.1 422.9 23.5 5.9 19.9-10.8 19.9-22.2v-77.6c-135.8 15.9-141.3-74-150.5-89-18.5-31.5-61.9-39.5-49-54.5 31-15.9 62.5 4 98.9 58 26.4 39.1 77.9 32.5 104.1 26 5.7-23.5 17.9-44.5 34.7-60.9-140.7-25.2-199.4-111.1-199.4-213.3 0-49.5 16.4-95.1 48.4-131.8-20.4-60.6 1.9-112.4 4.9-120.1 58.2-5.2 118.5 41.6 123.3 45.3 33.1-8.9 70.8-13.7 112.9-13.7 42.4 0 80.3 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.4-43.9 2.9 7.7 24.7 58.3 5.5 118.1 32.5 36.8 49 82.8 49 132.4 0 102.3-59 188.3-200.2 213.2 23.5 23.3 38.1 55.5 38.1 91.1v112.7c0.8 9 0 17.9 15.1 17.9C832.7 877 960.4 709.4 960.4 512.1c0-247.5-200.6-447.9-447.9-447.9C265 64.1 64.6 264.5 64.6 512z"></path>
</svg>
          </a>
        
      
        
          <a href="https://twitter.com/guanquanhong" class="soft-size--primary soft-style--box" target="_blank" rel="noopener noreferrer">
            <svg class="icon icon-twitter" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M962.285714 233.142857q-38.285714 56-92.571429 95.428571 0.571429 8 0.571429 24 0 74.285714-21.714286 148.285714t-66 142-105.428571 120.285714-147.428571 83.428571-184.571429 31.142857q-154.857143 0-283.428571-82.857143 20 2.285714 44.571429 2.285714 128.571429 0 229.142857-78.857143-60-1.142857-107.428571-36.857143t-65.142857-91.142857q18.857143 2.857143 34.857143 2.857143 24.571429 0 48.571429-6.285714-64-13.142857-106-63.714286t-42-117.428571l0-2.285714q38.857143 21.714286 83.428571 23.428571-37.714286-25.142857-60-65.714286t-22.285714-88q0-50.285714 25.142857-93.142857 69.142857 85.142857 168.285714 136.285714t212.285714 56.857143q-4.571429-21.714286-4.571429-42.285714 0-76.571429 54-130.571429t130.571429-54q80 0 134.857143 58.285714 62.285714-12 117.142857-44.571429-21.142857 65.714286-81.142857 101.714286 53.142857-5.714286 106.285714-28.571429z"></path>
</svg>
          </a>
        
      
    </div>
     
    <p>&copy; 2024 <a href="/" target="_blank">QAQ</a></p>

    

    <p>Powered by <a href="https://hexo.io" target="_blank" rel="noopener noreferrer">Hexo</a> Theme - <a href="https://github.com/miiiku/flex-block" target="_blank" rel="noopener noreferrer author">flex-block</a></p>

    <p>
      <a href="javascript:;" id="theme-light">🌞 浅色</a>
      <a href="javascript:;" id="theme-dark">🌛 深色</a>
      <a href="javascript:;" id="theme-auto">🤖️ 自动</a>
    </p>
  </div>
</footer>
  </div>

  <div class="back-to-top-fixed soft-size--round soft-style--box">
    <svg class="icon icon-back-to-top" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
      <path d="M725.333333 426.666667c-12.8 0-21.333333-4.266667-29.866667-12.8l-213.333333-213.333333c-17.066667-17.066667-17.066667-42.666667 0-59.733333s42.666667-17.066667 59.733333 0l213.333333 213.333333c17.066667 17.066667 17.066667 42.666667 0 59.733333C746.666667 422.4 738.133333 426.666667 725.333333 426.666667z"></path>
      <path d="M298.666667 426.666667c-12.8 0-21.333333-4.266667-29.866667-12.8-17.066667-17.066667-17.066667-42.666667 0-59.733333l213.333333-213.333333c17.066667-17.066667 42.666667-17.066667 59.733333 0s17.066667 42.666667 0 59.733333l-213.333333 213.333333C320 422.4 311.466667 426.666667 298.666667 426.666667z"></path>
      <path d="M512 896c-25.6 0-42.666667-17.066667-42.666667-42.666667L469.333333 170.666667c0-25.6 17.066667-42.666667 42.666667-42.666667s42.666667 17.066667 42.666667 42.666667l0 682.666667C554.666667 878.933333 537.6 896 512 896z"></path>
    </svg>
  </div>

  
  <!-- aplayer -->


<!-- dplayer -->


<!-- copy button  -->
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js"></script>

<!-- https://clipboardjs.com/ -->


<script type="text/javascript">
	(function () {
		function getCodeType (elem) {
			const classs = Array.from(elem.classList.values());
			if (classs && classs.length > 1) {
				return classs[1];
			}
			return "plain";
		}

		window.addEventListener("DOMContentLoaded", () => {
			const copyBtnClass = "copy-btn";
			//  instantiate clipboardjs 
			const clipboard = new ClipboardJS('.' + copyBtnClass);

			clipboard.on('success', function (e) {
				console.info('Action:', e.action);
				console.info('Text:', e.text);
				console.info('Trigger:', e.trigger);
				if (e.trigger) {
					e.trigger.classList.add("copied");
					setTimeout(() => {
						e.trigger.classList.remove("copied");
					}, 3000);
				}
				e.clearSelection();
			});

			clipboard.on('error', function (e) {
				console.error('Action:', e.action);
				console.error('Trigger:', e.trigger);
			});

			document.querySelectorAll('figure.highlight').forEach((elem) => {
				const codeContent = elem.querySelector("td.code");
				const copyButton = document.createElement('button');
				copyButton.setAttribute("class", copyBtnClass);
				copyButton.setAttribute("title", "Copy Code");
				copyButton.setAttribute("data-clipboard-text", codeContent.innerText);
				elem.insertBefore(copyButton, elem.children[0]);
			});
		})
	})();
</script>








  


  


  




<script src="/blog/js/script.js"></script>


  
  <!-- 尾部用户自定义相关内容 -->
</body>
</html>
